// AdvanceSearch?keyword=&scale=*&company=*&type=*&miniPrice=Any&maxPrice=Any&startDate=Any&endDate=Any
package servlet;

import java.io.*;
import beans.ModelBean;
import java.util.ArrayList;

import javax.servlet.*;
import javax.servlet.http.*;
import util.SystemException;

public class AdvanceSearchDelete extends HttpServlet {
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        String keyword = request.getParameter("keyword");
        String scale = request.getParameter("scale");
        String company = request.getParameter("company");
        String type = request.getParameter("type");
        String miniPrice = request.getParameter("miniPrice");
        String maxPrice = request.getParameter("maxPrice");
        String startDate = request.getParameter("startDate");
        String endDate = request.getParameter("endDate");
        
        boolean isError = false;
        String errorMsg = null;
        try {
       
            ModelBean[] beansArray = ModelBean.advanceSearch(keyword, scale, company, type, miniPrice, maxPrice, startDate, endDate);
            //redirect           
            request.getSession().setAttribute("beans", "");
            request.getSession().setAttribute("beans", beansArray);
        } catch (SystemException ex) {
            isError = true;
            errorMsg = ex.getMessage();
        }
        
        if(isError) {
            request.getSession().setAttribute("error_msg", errorMsg);
            response.sendRedirect("ErrorPage.jsp");
            return;
        }        
        response.sendRedirect("admin/SearchResultDelete.jsp");
        return;
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}